Prediction of available generator running time

ABSTRACT

At least one aspect of the invention is directed to a power monitoring system including a generator coupled to a fuel tank, a plurality of monitors, and a processor configured to monitor one or more loads drawing power from the generator; monitor one or more parameters that affect the amount of power drawn by the one or more loads; monitor a fuel consumption rate of the generator; generate one or more load profiles for each of the one or more loads; receive a set of the one or more loads for which a predicted time is to be generated; receive values for the one or more parameters; generate a predicted load profile for the set of the one or more loads and the values of the one or more parameters; receive information indicating an amount of remaining fuel; and calculate a predicted available run time.

BACKGROUND

1. Field of Invention

The present invention relates to systems and methods for predictingavailable generator running time.

2. Discussion of Related Art

Facilities often rely on electricity to operate numerous systems.Facilities can draw the electricity from an electric utility, but alsohave a generator to use as a backup in case of power failure or otherproblems. It is often useful to have an estimation of time available forrunning the facility on the generator. An accurate estimate of remainingtime can allow facility operators to respond accordingly, such asshutting down certain systems or refueling the generator.

SUMMARY

At least one aspect of the invention is directed to a power monitoringsystem for a facility. The power monitoring system may include agenerator coupled to a fuel tank, a plurality of monitors configured tomonitor power drawn by loads in the facility from the generator, and aprocessor. The processor is configured to be coupled to the plurality ofmonitors and configured to monitor one or more loads drawing power fromthe generator, monitor one or more parameters that affect the amount ofpower drawn by the one or more loads, and monitor a fuel consumptionrate of the generator. The processor is further configured to generateone or more load profiles for each of the one or more loads, each loadprofile determining power drawn by a corresponding load over a period oftime for a set of values of the one or more parameters. The processor isalso configured to receive a set of the one or more loads for which apredicted time is to be generated, receive values for the one or moreparameters, generate a predicted load profile for the set of the one ormore loads and the values of the one or more parameters. The processoris also configured to receive information indicating an amount ofremaining fuel and calculate a predicted available run time based on thepower drawn by the predicted load profile, the fuel consumption rate ofthe generator, and the amount of remaining fuel.

In some embodiments, the processor is further configured to identify afirst group of the one or more loads as critical loads and a secondgroup of the one or more loads is identified as non-critical, andwherein the set of the one or more loads includes at least the firstgroup of the one or more loads.

In some embodiments, the processor is further configured to identify afirst group of the one or more loads as delayable loads and a secondgroup of the one or more loads is identified as non-delayable loads, andwherein the set of the one or more loads includes at least the secondgroup of the one or more loads.

In some embodiments, the received values for the one or more parametersinclude predicted values for the one or more parameters.

In some embodiments, the processor is further configured to determine aplurality of sets of the one or more loads for which a predicted time isto be generated.

In some embodiments, the processor is further configured to receive alength of time and provide one or more of the plurality of sets of theone or more loads for which the predicted time is longer than the lengthof time.

In some embodiments, the loads comprise a priority ranking, and the oneor more provided sets comprises an optimized number of powered loadsbased on the priority ranking.

In some embodiments, the generator is a generator system comprising aplurality of generators coupled to a plurality of fuel tanks, and theprocessor is further configured to determine one or more sets of theplurality of generators to power the loads and calculate the predictedavailable run time for each of the one or more sets of the plurality ofgenerators.

Still other aspects, examples and advantages of these exemplary aspectsand examples, are discussed in detail below. Moreover, it is to beunderstood that both the foregoing information and the followingdetailed description are merely illustrative examples of various aspectsand examples, and are intended to provide an overview or framework forunderstanding the nature and character of the claimed aspects andexamples. Any example disclosed herein may be combined with any otherexample. References to “an example,” “some examples,” “an alternateexample,” “various examples,” “one example,” “at least one example,”“this and other examples” or the like are not necessarily mutuallyexclusive and are intended to indicate that a particular feature,structure, or characteristic described in connection with the examplemay be included in at least one example. The appearances of such termsherein are not necessarily all referring to the same example.

BRIEF DESCRIPTION OF DRAWINGS

The accompanying drawings are not intended to be drawn to scale. In thedrawings, each identical or nearly identical component that isillustrated in various figures is represented by a like numeral. Forpurposes of clarity, not every component may be labeled in everydrawing. In the drawings:

FIG. 1 is a block diagram of a power monitoring system according toaspects of some embodiments;

FIG. 2 illustrates a process flowchart of a power monitor systemaccording to aspects of some embodiments;

FIG. 3 illustrates an example load profile according to aspects of someembodiments;

FIG. 4 illustrates an example load profile according to aspects of someembodiments;

FIG. 5 illustrates an example load profile according to aspects of someembodiments;

FIG. 6A illustrates an example load profile according to aspects of someembodiments;

FIG. 6B illustrates an example load profile according to aspects of someembodiments;

FIG. 7 illustrates an example load profile according to aspects of someembodiments;

FIG. 8 illustrates a process flowchart of a power monitor systemaccording to aspects of some embodiments; and

FIG. 9 is a schematic diagram of one example of a computer system thatmay perform processes and functions disclosed herein.

DETAILED DESCRIPTION

A power monitoring system can provide more accurate predictions ofavailable generator running time by more accurately predicting the loadthat will be drawing power from the generator. The load can be predictedby monitoring individual component loads during operation and generatingcomponent load profiles. For example, the aggregate load can be for afacility, and the individual components can be the various systems inthe facility that draw power, such as lighting systems and ventilationsystems. The load profiles can be monitored to determine parameters thataffect the load profiles. The parameters can include environmentalparameters, operational parameters, and other variables that affect thepower drawn by each system. By generating more accurate load profiles,the load profiles can be used to more accurately predict future powerusage and thus available running time. By determining parameters thataffect the power usage, future known or predicted parameters can also beused to more accurately predict future load.

Examples of the methods and apparatuses discussed herein are not limitedin application to the details of construction and the arrangement ofcomponents set forth in the following description or illustrated in theaccompanying drawings. The methods and apparatuses are capable ofimplementation in other examples and of being practiced or of beingcarried out in various ways. Examples of specific implementations areprovided herein for illustrative purposes only and are not intended tobe limiting. In particular, acts, components, elements and featuresdiscussed in connection with any one or more examples are not intendedto be excluded from a similar role in any other examples.

Also, the phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting. Any references toexamples, components, elements or acts of the systems and methods hereinreferred to in the singular may also embrace examples including aplurality, and any references in plural to any example, component,element or act herein may also embrace examples including only asingularity. References in the singular or plural form are not intendedto limit the presently disclosed systems or methods, their components,acts, or elements. The use herein of “including,” “comprising,”“having,” “containing,” “involving,” and variations thereof is meant toencompass the items listed thereafter and equivalents thereof as well asadditional items. References to “or” may be construed as inclusive sothat any terms described using “or” may indicate any of a single, morethan one, and all of the described terms.

FIG. 1 shows an example block diagram of a power monitoring system 100according to some embodiments. The power monitoring system 100 includesa facility 130 with monitoring devices 152, 162, 172, 182 connected to anetwork, such as a local area network (LAN) 135. The monitoring devices152, 162, 172, 182 monitor various energy sources such as an electricutility 154 and a generator 164. The monitoring devices 152, 162, 172,182 also monitor loads that use power and transmit data to a localserver 140 and/or a remote server 120. The remote server 120 and/or thelocal server 140 can monitor the power usage and the energy sources topredict available remaining generator time.

The LAN 135 can be connected to another network, such as a wide areanetwork (WAN) 110. The remote server 120 is connected to the WAN 110 andcan communicate with devices connected to the LAN 135 via the WAN 110.Each of the monitoring devices 152, 162, 172, 182 monitors one or moreparameters of one or more associated energy sources and/or loads andcommunicates data and parameter values to the local server 140 via theLAN 135. Alternatively or additionally, the monitoring devices 152, 162,172, 182 can communicate parameter values to the remote server 120 viathe LAN 135 and the WAN 110. In some embodiments, the remote server 120can be located in the facility 130, and thus connected to the monitoringdevices 152, 162, 172, 182 and the local server 140 via the LAN 135. Insome embodiments, the local server 140 and the remote server 120 are ona same physical device.

In some example embodiments, the facility 130 has two energy sources,the electric utility 154 and the generator 164. The facility 130 has twogroups of energy loads, critical loads 174 and non-critical loads 184. Afirst monitor 152 monitors parameters of the electric utility 154 and asecond monitor 162 monitors parameters of the generator 164 and a fueltank 166 used by the generator 164. Third and fourth monitors 172, 182monitor parameters of the critical loads 174 and the non-critical loads184, respectively. Alternatively or additionally, a single monitor canmonitor a plurality of loads, or each load can have a correspondingmonitor. The parameters include electrical parameters such as voltage,current, power (kilowatts) and energy (kilowatt hours). The parametersalso include operational status of the critical and non-critical loads174, 184, such as whether loads are on or off, or operating modes ofloads. The parameters also include environmental parameters such asindoor temperature, outdoor temperature, humidity, wind speed, time ofday, and time of year. The parameters also include measure of facilityactivity, such as occupancy. The parameters also include other variablesthat affect the amount of power drawn by the loads, for example, thecondition of the equipment.

The critical loads 174 can include loads that are more important tomaintain a power supply, relative to non-critical loads 184. Forexample, a lighting system in a facility can be considered a criticalload 174 compared to a washer/dryer system. Alternatively oradditionally, loads can be categorized as delayable or non-delayable. Adelayable load can be a load to which power to the circuit can betemporarily cut off (interrupted) as needed (to handle overloads forexample) and restored at a later time. For example, a heating,ventilation, and air conditioning (HVAC) system can be considered adelayable load if the HVAC system is designed to cycle on and off intypical operation. Thus, power can be temporarily cut off withoutfunctionally affecting the HVAC system.

The monitors 152, 162, 172, 182 provide a user with information tomanage the critical and non-critical loads 174, 184 given theavailability of power from the electric utility 154 and the generator164. The user can obtain the information directly from the monitors 152,162, 172, 182 or from software running on the local server 140 and/orthe remote server 120. For example, the electric utility 154 can providepower to both the critical loads 174 and the non-critical loads 184 ofthe facility 130. If power from the electric utility 154 becomesunavailable, the generator 164 is brought online to supply electricalpower. In some embodiments, the generator 164 can supply power only tothe critical loads 174. Alternatively or additionally, the generator 164can supply power to both the critical loads 174 and the non-criticalloads 184 depending on the estimated time to restore power from theelectrical utility 154 and the amount of fuel available in the fuel tank166 and the predicted available running time of the generator 164. Insome embodiments, depending on the predicted available running time ofthe generator 164, power can be supplied to critical loads 174 andnon-delayable loads among the non-critical loads 184.

To predict remaining available running time, the local server 140 and/orthe remote server 120 can estimate how much power the facility 130 willdraw from the generator 164, and thus the rate at which the generator164 will consume the fuel remaining in the fuel tank 166. The powermonitoring system 100 estimates the power consumption of the facility bygenerating profiles for the loads drawing power. FIG. 2 shows an exampleprocess 200 of the power monitoring system 100. The process 200 startsat stage 202. At stage 204, a benchmark measure is calculated todetermine how much fuel the generator 164 consumes to output one or moreknown amounts of power. At stage 206, loads are selected to monitor. Theloads that are monitored can include critical load and non-criticalloads, as well as delayable and non-delayable loads. In someembodiments, the loads that are monitored are all the loads that candraw power from the generator 164 in the facility 130. At stage 208,parameters are selected to capture at stage 208. The parameters caninclude electrical parameters, operational parameters, environmentalparameters, and facility parameters. At stage 210, the system capturesbaseline load profiles for each of the loads and parameters selected.The process can end at stage 212.

For example, FIG. 3 shows an example load profile 300 showing aninstantaneous power draw of a load over time. The load profile 300 is anexample of a load with basic on or off modes of operation. At time 302,the load is turned on and the power drawn rises to level 312. At time304, the load is turned off and the power drawn drops back to zero. Forexample, lighting circuits within a facility can exhibit a load profilesimilar to the load profile 300.

FIG. 4 shows an example load profile 400 of a load with two active modesof operation. The power drawn by the load rises to level 412 at time 402and then up to level 414 at time 404. The power drawn drops back tolevel 412 at time 406, and then down to zero at time 408. Loads thathave multiple modes of operation with relatively constant power drawlevels at each of the modes can be modeled with the load profile 400.For example, commercial washers and dryers can exhibit a load profilesimilar to the load profile 400.

FIG. 5 shows an example load profile 500 of a multi-stage load that isaffected by one or more environmental parameters. The load profile 500shows a first load profile 510 and a second load profile 520. The firstload profile 510 ramps up and then down through power draw levels 542,544, and 546, starting at time 534 and ending at time 536. The secondload profile 520 also ramps up and down through levels 542, 544, and546, but begins earlier at time 532 and ends later at time 538. Thesecond load profile 520 remains at each power level for a longer timeduration than the first load profile 510, and includes an additionalpower level 548. Both profiles 510, 520 can model operation of a samecomplex load but under some change in one or more environmentalparameters. For example, the load profiles 510, 520 can representoperation of a multi-stage HVAC unit, with the first load profile 510representing operation during a day with cool outdoor temperatures andthe second load profile 520 representing operation during a day withwarmer outdoor temperatures. A peak power consumption 522 at power level548 can represent operation of an additional component within the HVACunit in response to the warmer outdoor temperature, such as anadditional fan or compressor motor. While the load profile 500 shows twoload profiles, a load profile can include any appropriate number of loadprofiles for varying values of one or more environmental parameters.

FIGS. 6A and 6B show example load profiles 600, 650 of a load thatswitches rapidly between modes of operation. The load profile 600 showsa load that switches between an off mode and an on mode, where it drawspower level 622, with the time duration spent in each mode varying.Between time 610 and 612 the load switches on and off at a first dutycycle, and between time 612 and 614 the load switches on and off at asecond duty cycle. The load profile 650 of FIG. 6B can be a simplifiedmodel of the load profile 600 of FIG. 6A. The load profile 650 averagesthe power levels between one or more time intervals, which can be usedto represent the demand the load will draw from a power source for thetime intervals. The load profile 650 can use a fixed time interval tocalculate each average power level. Alternatively or additionally, theload profile 650 can use a varying time interval depending on themode-switching behavior of the load.

For example, a ventilation fan can exhibit a load profile similar to theload profile 600 and can be modeled by the load profile 650. The fan canbe programmed to switch on and off at different duty cycles depending onoccupancy within the facility. The facility occupancy can be modeledaccording to time of day. The fan can remain on at level 622 for onlyshort durations of time early and late in the day when fewer people arepresent within the facility, as shown between time 610 and 612. Thisoperation can be represented as an average power demand at level 662between time 652 and 654. During times of the day leading up to (andfollowing) a peak occupancy, the fan can remain on at level 622 forlonger periods of time, as shown between time 612 and 614. The increasedrunning time also increases the average power demand, shown in the loadprofile 650 to level 664 between time 654 and 656. The fan can remain onfor some length of time when the facility is at peak occupancy, which isshown in the load profile 650 at power level 668 after time 656.

FIG. 7 shows an example load profile 700 of a facility. The load profile700 can be a load profile measured by monitoring the power drawn by thefacility. The load profile 700 can also represent a predicted loadprofile of the facility. For example, the power monitoring system 100can aggregate predicted load profiles of each of the critical andnon-critical loads tracked by the monitoring devices 152, 162, 172, 182.The power monitoring system 100 can take into account operationparameters and environmental parameters in predicting load profiles. Forexample, at time 710, the power monitoring system 100 can predict that aset of internal lights will turn on, based on either a predeterminedschedule or past measurements of the lighting circuit. At time 712, thepower monitoring system 100 can predict that ventilation fans will alsobe turned on, raising the facility load to level 724. The powermonitoring system 100 can predict that the lighting loads switch off attime 714, dropping the facility load level to 722. At time 716, one ormore HVAC units can be predicted to start ramping up in operation,increasing the load over the course of the day.

Using a predicted aggregated facility load profile, the power monitoringsystem 100 can predict available remaining run time. For example, FIG. 8shows an example process 800 for predicting available remaininggenerator time. The process starts at stage 802. At stage 804, criticaland non-critical loads are selected to include in a prediction scenario.At stage 806, a time frame is selected for a prediction scenario. Thetime frame can correspond to an estimated time before the electricutility will be available to provide power to the facility. At stage808, load profiles for the loads selected for the prediction scenarioare retrieved. At stage 810, a predicted aggregated facility loadprofile is generated based on the retrieved load profiles andoperational, environmental, and facility parameters. At stage 812, theamount of fuel available is measured. At stage 814, the availableremaining running time is estimated based on the predicted aggregatedfacility load profile. The process can end at stage 816.

As described above, the load profiles used to predict the aggregatedfacility load profile can be load profiles determined by a schedule ofoperation (such as the schedule for a lighting system) or a programmedsequence of operation (such as cycles of a commercial washer/dryer). Theload profiles can also be influenced by one or more environmentalparameters resulting in multiple load profiles associated with the load.For example, the predicted amount of power drawn by the HVAC units canbe determined based on the outdoor temperature or a predicted outdoortemperature, such as from a weather forecast. The power monitoringsystem can manage a plurality of profiles for a load, such asdetermining a maximum, minimum, and average power levels for each load.The power monitoring system can receive information to predictoperational, environmental, and facility parameters to determine theload profiles used. For example, weather forecasts can be used todetermine outdoor temperature. Sunrise and sunset times can be used todetermine when lighting systems might be used. Load profiles can spanvarying amounts of time. For example, a load profile can show the powerdrawn for a day, a week, a month, a year, or longer. Some load profilescan be relatively similar every day, regardless of time of year or otherenvironmental parameters. Some load profiles can have weekly, monthly,or yearly cycles that can provide more accurate information depending onthe point in the time interval. Monitored load profiles and models canbe updated and adjusted for a predetermined amount of time, at variousintervals, or constantly.

Predicted available generator running time can be generated for variousscenarios. For example, predicted available running time can begenerated for powering critical loads only, both critical loads andnon-critical loads, critical loads and non-delayable non-critical loads,or any other appropriate combination. Environmental, operational, andfacility parameters can also be adjusted to predict different scenarios.The scenarios generated can be a preconfigured list of conditions, orentered by a user through a client interface to the power monitoringsystem. The predicted available running time can be updated periodicallyand/or based on a user input.

In some embodiments, the power monitoring system can generate scenariosbased on the loads and parameters to provide operating conditions thatwould maximize the remaining time available. For example, the powermonitoring system can generate and compare a set of scenarios forpowering the critical loads and provide the scenario and changeableelectrical, environmental, operational, and facility parameters thatwould allow the facility to run the longest on the remaining fuel. Forexample, the power monitoring system can provide various scenariosdepending on the power usage. For example, if a facility has multiplegenerators, the power monitoring system can provide predicted availablerunning time for one or a plurality of the generators. The powermonitoring system can also generate scenarios such as powering thefacility using multiple generators at the same time, or one generatorafter another. For example, one generator running near full capacity maybe more fuel efficient in generating a similar level of power than twogenerators running near half capacity. The power monitoring system cantake electrical parameters into consideration to optimize the efficiencyof the power usage.

In some embodiments, the power monitoring system can generate scenariosto maximize the loads powered given a remaining amount of time. Forexample, if the generators will be powering the facility for two hours,after which the electric utility will be online, the power monitoringsystem can generate and compare scenarios to provide variousnon-critical loads that can remain operational with less risk of runningout of fuel. In some embodiments, the loads can be prioritized orgrouped with priorities so that scenarios can be generated to maximizepowering of higher prioritized loads. Additionally or alternatively,operational schedules may be adjusted based on a known fuelreplenishment schedule.

Various aspects and functions described herein may be implemented asspecialized hardware or software components executing in one or morecomputer systems. There are many examples of computer systems that arecurrently in use. These examples include, among others, networkappliances, personal computers, workstations, mainframes, networkedclients, servers, media servers, application servers, database serversand web servers. Other examples of computer systems may include mobilecomputing devices, such as cellular phones and personal digitalassistants, and network equipment, such as load balancers, routers andswitches. Further, aspects may be located on a single computer system ormay be distributed among a plurality of computer systems connected toone or more communications networks.

For example, various aspects and functions may be distributed among oneor more computer systems configured to provide a service to one or moreclient computers, or to perform an overall task as part of a distributedsystem. Additionally, aspects may be performed on a client-server ormulti-tier system that includes components distributed among one or moreserver systems that perform various functions. Consequently, examplesare not limited to executing on any particular system or group ofsystems. Further, aspects and functions may be implemented in software,hardware or firmware, or any combination thereof. Thus, aspects andfunctions may be implemented within methods, acts, systems, systemelements and components using a variety of hardware and softwareconfigurations, and examples are not limited to any particulardistributed architecture, network, or communication protocol.

Referring to FIG. 9, there is illustrated a block diagram of adistributed computer system 900, in which various aspects and functionsare practiced. As shown, the distributed computer system 900 includesone more computer systems that exchange information. More specifically,the distributed computer system 900 includes computer systems 902, 904and 906. As shown, the computer systems 902, 904 and 906 areinterconnected by, and may exchange data through, a communicationnetwork 908. The network 908 may include any communication networkthrough which computer systems may exchange data. To exchange data usingthe network 908, the computer systems 902, 904 and 906 and the network908 may use various methods, protocols and standards, including, amongothers, Fibre Channel, Token Ring, Ethernet, Wireless Ethernet,Bluetooth, IP, IPV6, TCP/IP, UDP, DTN, HTTP, FTP, SNMP, SMS, MMS, SS7,JSON, SOAP, CORBA, REST and Web Services. To ensure data transfer issecure, the computer systems 902, 904 and 906 may transmit data via thenetwork 908 using a variety of security measures including, for example,TLS, SSL or VPN. While the distributed computer system 900 illustratesthree networked computer systems, the distributed computer system 900 isnot so limited and may include any number of computer systems andcomputing devices, networked using any medium and communicationprotocol.

As illustrated in FIG. 9, the computer system 902 includes a processor910, a memory 912, a bus 914, an interface 916 and data storage 918. Toimplement at least some of the aspects, functions and processesdisclosed herein, the processor 910 performs a series of instructionsthat result in manipulated data. The processor 910 may be any type ofprocessor, multiprocessor or controller. Some exemplary processorsinclude commercially available processors such as an Intel Xeon,Itanium, Core, Celeron, or Pentium processor, an AMD Opteron processor,a Sun UltraSPARC or IBM Power5+ processor and an IBM mainframe chip. Theprocessor 910 is connected to other system components, including one ormore memory devices 912, by the bus 914.

The memory 912 stores programs and data during operation of the computersystem 902. Thus, the memory 912 may be a relatively high performance,volatile, random access memory such as a dynamic random access memory(DRAM) or static memory (SRAM). However, the memory 912 may include anydevice for storing data, such as a disk drive or other non-volatilestorage device. Various examples may organize the memory 912 intoparticularized and, in some cases, unique structures to perform thefunctions disclosed herein. These data structures may be sized andorganized to store values for particular data and types of data.

Components of the computer system 902 are coupled by an interconnectionelement such as the bus 914. The bus 914 may include one or morephysical busses, for example, busses between components that areintegrated within a same machine, but may include any communicationcoupling between system elements including specialized or standardcomputing bus technologies such as IDE, SCSI, PCI and InfiniBand. Thebus 914 enables communications, such as data and instructions, to beexchanged between system components of the computer system 902.

The computer system 902 also includes one or more interface devices 916such as input devices, output devices and combination input/outputdevices. Interface devices may receive input or provide output. Moreparticularly, output devices may render information for externalpresentation. Input devices may accept information from externalsources. Examples of interface devices include keyboards, mouse devices,trackballs, microphones, touch screens, printing devices, displayscreens, speakers, network interface cards, etc. Interface devices allowthe computer system 902 to exchange information and to communicate withexternal entities, such as users and other systems.

The data storage 918 includes a computer readable and writeablenonvolatile, or non-transitory, data storage medium in whichinstructions are stored that define a program or other object that isexecuted by the processor 910. The data storage 918 also may includeinformation that is recorded, on or in, the medium, and that isprocessed by the processor 910 during execution of the program. Morespecifically, the information may be stored in one or more datastructures specifically configured to conserve storage space or increasedata exchange performance. The instructions may be persistently storedas encoded signals, and the instructions may cause the processor 910 toperform any of the functions described herein. The medium may, forexample, be optical disk, magnetic disk or flash memory, among others.In operation, the processor 910 or some other controller causes data tobe read from the nonvolatile recording medium into another memory, suchas the memory 912, that allows for faster access to the information bythe processor 910 than does the storage medium included in the datastorage 918. The memory may be located in the data storage 918 or in thememory 912, however, the processor 910 manipulates the data within thememory, and then copies the data to the storage medium associated withthe data storage 918 after processing is completed. A variety ofcomponents may manage data movement between the storage medium and othermemory elements and examples are not limited to particular datamanagement components. Further, examples are not limited to a particularmemory system or data storage system.

Although the computer system 902 is shown by way of example as one typeof computer system upon which various aspects and functions may bepracticed, aspects and functions are not limited to being implemented onthe computer system 902 as shown in FIG. 9. Various aspects andfunctions may be practiced on one or more computers having a differentarchitectures or components than that shown in FIG. 9. For instance, thecomputer system 902 may include specially programmed, special-purposehardware, such as an application-specific integrated circuit (ASIC)tailored to perform a particular operation disclosed herein. Whileanother example may perform the same function using a grid of severalgeneral-purpose computing devices running MAC OS System X with MotorolaPowerPC processors and several specialized computing devices runningproprietary hardware and operating systems.

The computer system 902 may be a computer system including an operatingsystem that manages at least a portion of the hardware elements includedin the computer system 902. In some examples, a processor or controller,such as the processor 910, executes an operating system. Examples of aparticular operating system that may be executed include a Windows-basedoperating system, such as, Windows NT, Windows 2000 (Windows ME),Windows XP, Windows Vista or Windows 7 operating systems, available fromthe Microsoft Corporation, a MAC OS System X operating system availablefrom Apple Computer, one of many Linux-based operating systemdistributions, for example, the Enterprise Linux operating systemavailable from Red Hat Inc., a Solaris operating system available fromSun Microsystems, or a UNIX operating systems available from varioussources. Many other operating systems may be used, and examples are notlimited to any particular operating system.

The processor 910 and operating system together define a computerplatform for which application programs in high-level programminglanguages are written. These component applications may be executable,intermediate, bytecode or interpreted code which communicates over acommunication network, for example, the Internet, using a communicationprotocol, for example, TCP/IP. Similarly, aspects may be implementedusing an object-oriented programming language, such as .Net, SmallTalk,Java, C++, Ada, or C# (C-Sharp). Other object-oriented programminglanguages may also be used. Alternatively, functional, scripting, orlogical programming languages may be used.

Additionally, various aspects and functions may be implemented in anon-programmed environment, for example, documents created in HTML, XMLor other format that, when viewed in a window of a browser program, canrender aspects of a graphical-user interface or perform other functions.Further, various examples may be implemented as programmed ornon-programmed elements, or any combination thereof. For example, a webpage may be implemented using HTML while a data object called fromwithin the web page may be written in C++. Thus, the examples are notlimited to a specific programming language and any suitable programminglanguage could be used. Accordingly, the functional components disclosedherein may include a wide variety of elements, e.g. specializedhardware, executable code, data structures or objects, that areconfigured to perform the functions described herein.

In some examples, the components disclosed herein may read parametersthat affect the functions performed by the components. These parametersmay be physically stored in any form of suitable memory includingvolatile memory (such as RAM) or nonvolatile memory (such as a magnetichard drive). In addition, the parameters may be logically stored in apropriety data structure (such as a database or file defined by a usermode application) or in a commonly shared data structure (such as anapplication registry that is defined by an operating system). Inaddition, some examples provide for both system and user interfaces thatallow external entities to modify the parameters, such as sponsor typesand sectors, and thereby configure the behavior of the components.

Having thus described several aspects of at least one embodiment of thisinvention, it is to be appreciated various alterations, modifications,and improvements will readily occur to those skilled in the art. Suchalterations, modifications, and improvements are intended to be part ofthis disclosure, and are intended to be within the spirit and scope ofthe invention. Accordingly, the foregoing description and drawings areby way of example only.

What is claimed is:
 1. A method of predicting available run time of agenerator to power a facility, the method comprising: monitoring one ormore loads drawing power from the generator; monitoring one or moreparameters that affect the amount of power drawn by the one or moreloads; monitoring a fuel consumption rate of the generator; generatingone or more load profiles for each of the one or more loads, each loadprofile determining power drawn by a corresponding load over a period oftime for a set of values of the one or more parameters; determining aset of the one or more loads for which a predicted time is to begenerated; receiving values for the one or more parameters; generating apredicted load profile for the set of the one or more loads and thevalues of the one or more parameters; receiving information indicatingan amount of remaining fuel; and calculating, on a computer system, apredicted available run time based on the power drawn by the predictedload profile, the fuel consumption rate of the generator, and the amountof remaining fuel.
 2. The method of claim 1, further comprisingidentifying a first group of the one or more loads as critical loads anda second group of the one or more loads is identified as non-critical,and wherein the set of the one or more loads includes at least the firstgroup of the one or more loads.
 3. The method of claim 1, furthercomprising identifying a first group of the one or more loads asdelayable loads and a second group of the one or more loads isidentified as non-delayable loads, and wherein the set of the one ormore loads includes at least the second group of the one or more loads.4. The method of claim 1, wherein the received values for the one ormore parameters include predicted values for the one or more parameters.5. The method of claim 1, further comprising determining a plurality ofsets of the one or more loads for which a predicted time is to begenerated.
 6. The method of claim 5, further comprising: receiving alength of time; and providing one or more of the plurality of sets ofthe one or more loads for which the predicted time is longer than thelength of time.
 7. The method of claim 6, wherein the loads comprise apriority ranking, and the one or more provided sets comprises anoptimized number of powered loads based on the priority ranking.
 8. Themethod of claim 1, wherein the generator is a generator systemcomprising a plurality of generators coupled to a plurality of fueltanks, the method further comprising: determining one or more sets ofthe plurality of generators to power the loads; and calculating thepredicted available run time for each of the one or more sets of theplurality of generators.
 9. A power monitoring system for a facility,comprising: a generator coupled to a fuel tank; a plurality of monitorsconfigured to monitor power drawn by loads in the facility from thegenerator; a processor configured to be coupled to the plurality ofmonitors and configured to: monitor one or more loads drawing power fromthe generator; monitor one or more parameters that affect the amount ofpower drawn by the one or more loads; monitor a fuel consumption rate ofthe generator; generate one or more load profiles for each of the one ormore loads, each load profile determining power drawn by a correspondingload over a period of time for a set of values of the one or moreparameters; receive a set of the one or more loads for which a predictedtime is to be generated; receive values for the one or more parameters;generate a predicted load profile for the set of the one or more loadsand the values of the one or more parameters; receive informationindicating an amount of remaining fuel; and calculate a predictedavailable run time based on the power drawn by the predicted loadprofile, the fuel consumption rate of the generator, and the amount ofremaining fuel.
 10. The system of claim 9, wherein the processor isfurther configured to identify a first group of the one or more loads ascritical loads and a second group of the one or more loads is identifiedas non-critical, and wherein the set of the one or more loads includesat least the first group of the one or more loads.
 11. The system ofclaim 9, wherein the processor is further configured to identify a firstgroup of the one or more loads as delayable loads and a second group ofthe one or more loads is identified as non-delayable loads, and whereinthe set of the one or more loads includes at least the second group ofthe one or more loads.
 12. The system of claim 9, wherein the receivedvalues for the one or more parameters include predicted values for theone or more parameters.
 13. The system of claim 9, wherein the processoris further configured to determine a plurality of sets of the one ormore loads for which a predicted time is to be generated.
 14. The systemof claim 13, wherein the processor is further configured to: receive alength of time; and provide one or more of the plurality of sets of theone or more loads for which the predicted time is longer than the lengthof time.
 15. The system of claim 14, wherein the loads comprise apriority ranking, and the one or more provided sets comprises anoptimized number of powered loads based on the priority ranking.
 16. Thesystem of claim 9, wherein the generator is a generator systemcomprising a plurality of generators coupled to a plurality of fueltanks, and wherein the processor is further configured to: determine oneor more sets of the plurality of generators to power the loads; andcalculate the predicted available run time for each of the one or moresets of the plurality of generators.
 17. A non-transitory computerreadable medium having stored thereon sequences of instruction forpredicting available run time for a generator including instructionsthat will cause at least one processor to: monitor one or more loadsdrawing power from the generator; monitor one or more parameters thataffect the amount of power drawn by the one or more loads; monitor afuel consumption rate of the generator; generate one or more loadprofiles for each of the one or more loads, each load profiledetermining power drawn by a corresponding load over a period of timefor a set of values of the one or more parameters; determine a set ofthe one or more loads for which a predicted time is to be generated;receive values for the one or more parameters; generate a predicted loadprofile for the set of the one or more loads and the values of the oneor more parameters; receive information indicating an amount ofremaining fuel; and calculate, on a computer system, a predictedavailable run time based on the power drawn by the predicted loadprofile, the fuel consumption rate of the generator, and the amount ofremaining fuel.
 18. The medium of claim 17, wherein the processor isfurther instructed to: receive a length of time; determine a pluralityof sets of the one or more loads for which a predicted time is to begenerated; and provide one or more of the plurality of sets of the oneor more loads for which the predicted time is longer than the length oftime.
 19. The medium of claim 17, wherein the loads comprise a priorityranking, and the one or more provided sets comprises an optimized numberof powered loads based on the priority ranking.
 20. The medium of claim17, wherein the generator is a generator system comprising a pluralityof generators coupled to a plurality of fuel tanks, and wherein theprocessor is further instructed to: determine one or more sets of theplurality of generators to power the loads; and calculate the predictedavailable run time for each of the one or more sets of the plurality ofgenerators.